/**
 * 班级考试信息表model
 * author:cjf
 * 专业班级编号(major_id)描述(Integer、非空)、教师编号(teacher_id、非空)描述(String(100)、非空)
 * 填空题ids(fill_ids)描述(Text)、判断题ids(judge_ids)描述(Text)、选择题ids(selection)描述(Text)
 * 应用题ids(application_ids)描述(Text)、计算题ids(calculation_ids)描述(Tsxt)
 * 题目分值设置(schedule_scores)描述(Text)、考试开始时间(schedule_start)描述(Date、非空)
 * 考试结束时间(schedule_end)描述(Date、非空)、学生练习系统有效时间(prac_dline)描述(Date、非空)
 * 学生测验系统有效时间(test_dline)描述(Date、非空)
 */
import { DbContext } from '@codefree/badger/service'
const db = DbContext.Sequelize;
export type ScheduleEntity = {
    major_id:Number,
    teacher_id:Number,
    fill_ids:String,
    selection_ids:String,
    application_ids:String,
    calculation_ids:String,
    schedule_scores:string,
    schedule_start:Date,
    schedule_end:Date,
    test_dline:Date,
    prac_dline:Date,

}
const scheduleEntity:ScheduleEntity = {
    major_id:{
        type:db.INTEGER,
        allowNull:false,
    },
    teacher_id:{
        type:db.INTEGER,
        allowNull:false,
    },
    fill_ids:{
        type:db.TEXT,   
    },
    selection_ids:{
        type:db.TEXT,   
    },
    application_ids:{
        type:db.TEXT,   
    },
    calculation_ids:{
        type:db.TEXT,   
    },
    schedule_scores:{
        type:db.TEXT,
    },
    schedule_start:{
        type:db.DATE,
        allowNull:false,
    },
    schedule_end:{
        type:db.DATE,
        allowNull:false,
    },
    test_dline:{
        type:db.DATE,
        allowNull:false,
    },
    prac_dline:{
        type:db.DATE,
        allowNull:false,
    }
}
export default (sequelize) => {
    return {
        name: 'Schedule',
        define: sequelize.define("schedule", scheduleEntity, DbContext.defaultOptions)
    }
}